home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / button.14 / button9311.ps < prev    next >
Encoding:
Text File  |  1996-11-17  |  4.9 KB  |  174 lines

  1. %
  2. % button9311.ps - A GNU Button Program
  3. %
  4. % Copyright 1993 Free Software Foundation
  5. %
  6. % This program is free software; you can redistribute it and/or modify
  7. % it under the terms of the GNU General Public License as published by
  8. % the Free Software Foundation; either version 2, or (at your option)
  9. % any later version.
  10. %
  11. % This program is distributed in the hope that it will be useful,
  12. % but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. % GNU General Public License for more details.
  15. %
  16. % You should have received a copy of the GNU General Public License
  17. % along with this program; if not, write to the Free Software
  18. % Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19. %
  20. % Hard copies of this button were first distributed at the December
  21. % 1993 GNU Symposium in Tokyo.  They had black lettering on a yellow
  22. % background on a standard 2 1/4" safety pin button.  They were
  23. % designed by Leonard H. Tower Jr. who is also the author of this GNU
  24. % Button Program.
  25. %
  26. % Report bugs or improvements to: tower@prep.ai.mit.edu
  27. %
  28. % Hard copies of this button are probably still available.  To get a
  29. % button, one must have either donated source code or documentation to
  30. % the GNU Project or make a donation of at least $ 2.00 for each button.
  31. %
  32. % If you wish a hard copy of a gnu button send:
  33. %     - a self-addressed, stamped envelope; and
  34. %     - either:
  35. %         - a reminder of your source or documentation contribution; or
  36. %         - a donation payable to the "Free Software Foundation"; and
  37. %     - specify how many each of these different versions you wish:
  38. %         Feb 88 (white GNU)        Jun 88 (yellow GNU)
  39. %        Jan 89 (blue GNUer)        Jun 89 (green GNUist)
  40. %        Jan 90 (yellow thanx GNU)    Jun 90 (white text on GNU) @@??
  41. %        Jan 91 (yellow text on GNU)@@??    Jun 91 (white cubist GNU)  @@??
  42. %        Jan 92 (yellow cubist GNU) @@??    Jun 92 (yellow GnURU)
  43. %        Jan 93 (white gnu & improved)   Jun 93 (white GNUrd)
  44. %        Nov 93 (yellow happy gnu year)
  45. % to:    L. Tower Jr.
  46. %     36 Porter Street,
  47. %    Somerville, MA  02143, USA
  48. %
  49. % This program is available for anonymous ftp
  50. % prep.ai.mit.edu:/u2/emacs/button.N.MM.shar.  It is probably available
  51. % in other source archives.
  52.  
  53. % This version has this "phrase" centered inside the fine print circle:
  54. %
  55. %        happy         u    u
  56. %         n nnn   u    u
  57. %         ggg g  nn   n  u    u
  58. %        g   gg  n    n  u    u
  59. %        g    g  n    n  u   uu
  60. %        g    g  n    n   uuu u
  61. %        g   gg  n    n
  62. %         ggg g           year!
  63. %             g
  64. %         gggg
  65. %
  66.  
  67. erasepage
  68.  
  69. % debugging help
  70. %.so ehandler.ps
  71.  
  72. % uses {in,out}sidecircletext routines from Adobe Cookbook.
  73. .so circtext.ps
  74.  
  75. % center button on 8 1/2" x 11" page
  76. 306 396 translate
  77.  
  78. % This is a kludge to give better edge resolution.
  79. % Note that postscript's scale command doesn't cut it.
  80. % It scales after the edges are set.
  81. % biggg is set to 2,3,4, 3.7 or 3.9 to make a master that is that much larger.
  82. % The master is reduced that much by the button manufacturer.
  83. % If only 1200 dpi postscript printers were more common ...
  84. /biggg 1 def
  85.  
  86. % useful for centering button design
  87. /circleguide {
  88.   gsave
  89.   /radius 82 biggg mul def
  90.   .5 setlinewidth
  91.   newpath
  92.     0 0 radius 0 360 arc
  93.   stroke
  94.   grestore
  95. } def
  96.  
  97. %circleguide
  98.  
  99. /gnutext (gnu) def
  100. /gntext (gn) def
  101. /gtext (g) def
  102. /ntext (n) def
  103. /utext (u) def
  104. /happytext (happy) def
  105. /htext (y) def
  106. /yeartext (year) def
  107. /exclaimtext (!) def
  108. % The "happy and year" are 1/*fudge size of /gnutext
  109. /hyfudge 6 def
  110. /hyvertadj 6 def
  111. /gnuptsz 55 biggg mul def
  112. /hyptsz gnuptsz hyfudge div def
  113.  
  114. /Times-Bold findfont gnuptsz scalefont setfont
  115. /gnuwidth gnutext stringwidth pop def
  116. /gnwidth gntext stringwidth pop def
  117. /nwidth ntext stringwidth pop def
  118. /nukern nwidth 9 div def
  119.  
  120. /gotostart {
  121.   /shiftright nukern 1.5 mul neg def
  122.   /shiftdown gnuptsz hyvertadj div neg def
  123.   /shiftup shiftdown neg def
  124.   gnuwidth 2 div neg shiftright add
  125.             shiftdown 1.4 mul moveto
  126. } def
  127.  
  128. gsave
  129.   gotostart
  130.   gtext show
  131.   nukern 2 mul shiftup rmoveto
  132.   ntext show
  133.   nukern shiftup rmoveto
  134.   utext show
  135. grestore
  136.  
  137. /Times-Bold findfont hyptsz scalefont setfont
  138. /hwidth htext stringwidth pop def
  139. /hywidthadj hwidth 2 div def
  140.  
  141. gsave
  142.   gotostart
  143.   hywidthadj gnuptsz shiftdown 2.6 mul add rmoveto
  144.   happytext show
  145. grestore
  146.  
  147. gsave
  148.   gotostart
  149.   hywidthadj gnwidth add nukern 4 mul add shiftup rmoveto
  150.   yeartext show
  151.   hywidthadj 4 div 0 rmoveto
  152.   exclaimtext show
  153. grestore
  154.  
  155. gsave
  156.   /GNUptsz 14 biggg mul def
  157.   /Times-Bold findfont GNUptsz scalefont setfont
  158.   (GNU's Not Unix)
  159.     GNUptsz 270 63 biggg mul insidecircletext
  160. grestore
  161.  
  162. /tinyptsz 5.75 biggg mul def
  163. /tinyrad 73 biggg mul def
  164.  
  165. /Helvetica-Narrow-Bold findfont tinyptsz scalefont setfont
  166.  
  167. (Copyright 1993 Free Software Foundation, Inc.)
  168.   tinyptsz 270 tinyrad outsidecircletext
  169.  
  170. (Anonymous ftp prep.ai.mit.edu:/pub/gnu/button.N.shar, this button's postscript program, which is freely redistributable under the GNU General Public License.)
  171.   tinyptsz  90 tinyrad outsidecircletext
  172.  
  173. showpage
  174.